package com.micro.ai.template.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 创建Agent请求
 *
 * @author micro-ai
 * @since 0.0.1
 */
@Data
@Schema(description = "创建Agent请求")
public class AgentCreateRequest {

    @NotBlank(message = "Agent名称不能为空")
    @Size(min = 2, max = 200, message = "Agent名称长度必须在2-200之间")
    @Schema(description = "Agent名称", example = "我的客服助手", requiredMode = Schema.RequiredMode.REQUIRED)
    private String agentName;

    @NotBlank(message = "模板ID不能为空")
    @Schema(description = "模板ID", example = "tpl_123", requiredMode = Schema.RequiredMode.REQUIRED)
    private String templateId;

    @NotBlank(message = "模板版本不能为空")
    @Schema(description = "模板版本", example = "1.0.0", requiredMode = Schema.RequiredMode.REQUIRED)
    private String templateVersion;

    @Schema(description = "Agent描述", example = "为我的公司定制的客服助手")
    private String description;

    @Schema(description = "配置信息（JSON格式）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Map<String, Object> config;

    @Schema(description = "标签列表", example = "[\"客服\", \"24小时\"]")
    private List<String> tags;
}

